import tkinter as tk
import tkinter.ttk as ttk

root = tk.Tk()
root.geometry("300x300")
root.title("Notebook 示例")

# 创建Notebook控件
notebook = ttk.Notebook(root)
notebook.pack(fill="both", expand=True, padx=10, pady=10)


# 第一个标签页 - 数值型Spinbox示例
tab1 = ttk.Frame(notebook)
notebook.add(tab1, text="数值调节",padding=10)

def new_tab():
    tab3 = ttk.Frame(notebook)
    notebook.add(tab3, text="数值调节")
def delete_tab():
    notebook.forget(notebook.index('end')-1)
ttk.Button(tab1,text="新增Tab",command=new_tab).pack(pady=10)
ttk.Button(tab1,text="删除Tab",command=delete_tab).pack(pady=10)

ttk.Label(tab1, text="请选择数值:").pack(pady=10)
num_spin = ttk.Spinbox(tab1, from_=0, to=100, increment=5, width=15)
num_spin.set(25)
num_spin.pack(pady=5)

value_label = ttk.Label(tab1, text=f"当前值: {num_spin.get()}")
value_label.pack(pady=10)


def update_label(event):
    value_label.config(text=f"当前值: {num_spin.get()}")


num_spin.bind("<<Increment>>", update_label)
num_spin.bind("<<Decrement>>", update_label)

# 第二个标签页 - 字符串列表Spinbox示例
tab2 = ttk.Frame(notebook)
notebook.add(tab2, text="选项选择")

ttk.Label(tab2, text="请选择水果:").pack(pady=10)
fruit_spin = ttk.Spinbox(tab2, values=["苹果", "香蕉", "橙子", "葡萄", "西瓜"], width=15)
fruit_spin.set("香蕉")
fruit_spin.pack(pady=5)


# 确认选择的函数
def show_selection():
    selected = fruit_spin.get()
    ttk.Label(tab2, text=f"你选择了: {selected}").pack()


# 按钮触发确认
ttk.Button(tab2, text="确认选择", command=show_selection).pack(pady=10)

# 绑定Enter键触发确认（关键代码）
# fruit_spin.bind("<Return>", lambda event: print (show_selection()))  #打印lambda返回值
fruit_spin.bind("<Return>", lambda event: (print(event),show_selection()))  #打印event值


root.mainloop()
